fix(features): open feature slideout when deep link targets an off-page feature#7807
fix(features): open feature slideout when deep link targets an off-page feature#7807adamvialpando wants to merge 2 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Docker builds report
|
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Failed testsfirefox › tests/project-permission-test.pw.ts › Project Permission Tests › Project-level permissions control access to features, environments, audit logs, and segments @enterprise Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
|
talissoncosta
left a comment
There was a problem hiding this comment.
Looks good @adamvialpando! Thanks for handling this. Left a few minor suggestions, nothing blocking, but it'd be great if you could address them before merging.
This comment was marked as spam.
This comment was marked as spam.
|
Is #7839 a duplicate ? |
Visual Regression19 screenshots compared. See report for details. |
talissoncosta
left a comment
There was a problem hiding this comment.
Looks good to me! Thanks for handling that @adamvialpando !
Closes #7652
Problem
Opening
/project/<p>/environment/<e>/features?feature=<id>&tab=<tab>did not open the feature slideout when the targeted feature was not on the currently rendered page of the paginated list. Deep-linking was handled per-row insideFeatureRow, so if no row mounted for the feature (e.g. it sorts pastpage_size=50), the effect never fired and the slideout never opened. The failure was silent, with nothing reaching Sentry.Fix
Detect, at the page level, when the
?feature=target is missing from the loaded page and fetch it directly, then render a hiddenFeatureRowso the existing deep-link effect opens the slideout (honouring thetabparam).shouldDeepFetchFeaturedecides whether a direct fetch is needed (no-ops when there is no param, the list has not loaded, the param is not a valid id, or the feature is already on the page).useDeepLinkedFeaturefetches the project flag and its environment feature state when required.FeaturesPagerenders a hidden row for the fetched feature; the on-page path is unchanged, so there is no double-open.Behavior is now independent of pagination, sort order, and tag/archive filters.
Testing
shouldDeepFetchFeatureandpickEnvironmentFlag(8 cases) — passing.